package com.zhentao.enums;

/**
 * 查询类型枚举
 * 根据业务流程需求定义
 */
public enum QueryTypeEnum {
    
    /**
     * 汇总查询
     * 基于外部数据审计库，根据查询条件、分组维度、输出字段展示对应的汇总数据
     * 支持按照维度进行下钻，最多选择三个分组维度
     */
    SUMMARY_QUERY("SUMMARY_QUERY", "汇总查询"),
    
    /**
     * 数据查询
     * 基于外部数据审计库，根据选择的查询条件及输出字段展示对应的数据
     * 支持逐级下钻溯源展示到最细粒度的原始数据
     */
    DATA_QUERY("DATA_QUERY", "数据查询"),
    
    /**
     * 原始数据查询
     * 基于外部原始数据表，根据选择的查询条件及输出字段展示对应的原始数据
     */
    RAW_DATA_QUERY("RAW_DATA_QUERY", "原始数据查询");
    
    private final String code;
    private final String description;
    
    QueryTypeEnum(String code, String description) {
        this.code = code;
        this.description = description;
    }
    
    public String getCode() {
        return code;
    }
    
    public String getDescription() {
        return description;
    }
    
    /**
     * 根据代码获取枚举
     */
    public static QueryTypeEnum getByCode(String code) {
        for (QueryTypeEnum type : values()) {
            if (type.getCode().equals(code)) {
                return type;
            }
        }
        return null;
    }
} 